package com.uzai.console.service.dy;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.uzai.console.dto.dy.dytoken.DyTokenIdDto;
import com.uzai.console.dto.dy.dytoken.DyTokenInfoDto;
import com.uzai.console.dto.dy.dytoken.DyTokenQuery;
import com.uzai.console.entity.DyToken;
import com.uzai.console.vo.dy.dytoken.DyTokenAuthUrlVo;
import com.uzai.console.vo.dy.dytoken.DyTokenInfoVo;

import java.util.List;

/**
 * @author liuqi
 * @date 2021年08月13日 11:33
 */
public interface DyTokenService {

   /**
     * 查询抖音联盟列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param dyTokenQuery
     * @return null
     */
    Page<DyTokenInfoVo> findDyTokenList(DyTokenQuery dyTokenQuery);

   /**
     * 查询联盟详情
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param dyTokenIdDto
     * @return null
     */
    DyTokenInfoVo findDyTokenInfo(DyTokenIdDto dyTokenIdDto);

   /**
     * 添加授权
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param dyTokenInfoDto
     * @return null
     */
    void addDyToken(DyTokenInfoDto dyTokenInfoDto);

   /**
     * 修改联盟PID
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param dyTokenInfoDto
     * @return null
     */
    void updateDyToken(DyTokenInfoDto dyTokenInfoDto);


   /**
     * 删除联盟
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param dyTokenIdDto
     * @return null
     */
    void deleteToken(DyTokenIdDto dyTokenIdDto);

    /**
     * 查询所有抖音联盟列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param dyTokenQuery
     * @return null
     */
    List<DyTokenInfoVo> findDyTokenListSelect(DyTokenQuery dyTokenQuery);

    /***
     * 添加抖客账号授权
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param merId
     * @return null
     */
    DyTokenAuthUrlVo addDyTokenAuth(Long merId);

    /**
     * 修改抖客账号授权
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param dyTokenInfoDto
     * @return null
     */
    void updateDyTokenAuth(DyTokenInfoDto dyTokenInfoDto);

    /**
     * 删除抖客账号授权
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param dyTokenIdDto
     * @return null
     */
    void deleteDyTokenAuth(DyTokenIdDto dyTokenIdDto);


    /**
     * 刷新抖客账号授权
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param dyToken
     * @return null
     */
    void refreshDyTokenAuth(DyToken dyToken);

    List<DyToken> listDyToken(Long merId, List<Long> dyAccountIds);
}
